package 哈希表;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class LC_001两数之和01 {
    public static void main(String[] args){
        int[] nums = {3,2,4};
        int target = 6;
        System.out.println(Arrays.toString((twoSum(nums,target))));
    }
    public static int[] twoSum(int[] nums, int target) {
        //下标和元素需要同时存储，故用map方法
        Map<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++){
            int s=target-nums[i];
            //判断map集合中是否有key值为s的数
            if(map.containsKey(s)){
                return new int[]{i,map.get(s)};
            }
            //若不包含，则将此时的元素和下表存储到map中
            map.put(nums[i],i);
        }
        return null;
    }
}
